The present invention relates to retrieving uncompressed image data from a memory for application to printing hardware, wherein a desired rotation of the image to be printed is implemented by a specific data-retrieval technique.
In computer science, high speed digital printing presents unique requirements to data-processing equipment. To operate a printing apparatus which is designed to output over 100 page-size images per minute, the ability to make the desired image data available to printing hardware requires very close tolerances in the management of the "overhead" when data is transferred from memory to printing hardware. A typical 600 spi letter-size page image, in a format suitable to be submitted to printing hardware, is typically of a size of about 4 MB; when the printing hardware demands the image data to print the particular page, this 4 MB of image data must be accessed from real memory within a time frame of approximately 300 milliseconds.
In the high-speed printing context, wherein large quantities of image data must be accessed in real time for immediate application to printing hardware such as a modulating laser or an ink-jet printhead, a preferred technique for accessing a specifically-required quantity of image data for printing a particular sheet at a particular time is known as "direct memory access," or DMA. With DMA, a quantity of image data relating to a particular image desired to be printed is retained at a predetermined location in a real or virtual memory, typically within a set of contiguous virtual addresses in the memory. The image data waits at this predetermined location until the precise time-frame when a particular sheet is positioned within the printing hardware for creation of the image thereon. When the particular image is to be created, a "data pipeline" is set up between the particular addresses in the memory holding the desired image data, and the printing hardware. Precisely when needed (based on the position of a sheet relative to the imaging apparatus, such as the ink-jet head or laser beam), the image data is copied or otherwise transferred from the predetermined location in memory to the printing hardware. After the image is created by the printing hardware, the printing apparatus will then locate the data for a next image to be printed, which may be located at another predetermined location within the memory.
With many high-volume (50-130 prints per minute) and mid-volume (25-60 prints per minute) digital printers, "duplexing," which is printing an image on both sides of a sheet is often a desired feature. Because most commercially-available digital printers include only one imaging device, such as a laser and photoreceptor, or ink-jet printhead, a sheet which is desired to be duplex-printed must first receive an image on its first side, and then be essentially re-fed past the imaging device to receive its second-side or "duplex" image. Thus it is common, when speaking of digital printers, to speak of a "duplex path" or "duplex loop," which is the paper path in which a sheet which has already been printed with an image on one side thereof is fed back into the machine for printing on the second side.
One early patent showing duplexing in a digital-printing context is U.S. Pat. No. 4,453,841; this patent shows a duplex loop for digital printing with an ink-jet printhead, but significantly also shows that in a design of a duplex path for sheets with "short-edge feed," the sheet receiving its first-side image is fed past the printhead "head first," that is, with the top of the image printed thereon being first past the printhead. Because of the architecture of the duplex path, however, the same sheet, when it is re-fed past the printhead to receive the second-side image, moves past the printhead "feet first," so that the bottom of an image is first past the printhead. The important point is that, when using certain types of duplex loop architectures, the second-side image must be rotated on the page relative to the first-side image, so that in the finished print, the top of each of the first-side image and the second-side image are both oriented toward the same edge of the sheet.
When using duplex printing in the high-speed environment, and where it is necessary to rotate every image that will be printed on the second side of a sheet, the necessity to rotate every other image being transferred to the printing hardware may represent a significant consumption of time. Rotating the image through manipulation of image data, such as by an extra processing step not required for non-rotated images, may cause intolerable delays in getting the image data to the printing hardware when the particular sheet becomes available. In a high-speed printer, a sheet which already has received its first-side image cannot be readily stalled in a position until the second-side image data becomes available to it. There is therefore a need to provide this 180-degree rotation to image data in real time. U.S. Pat. No. 4,307,958 discloses a printing machine capable of duplex printing, wherein a sheet receives an image on its first side, and then is re-fed past the imaging apparatus in a reverse direction to receive the second-side image. In this case, with both passes of the sheet past the imaging apparatus, the feed of the sheet is always "head first." Nonetheless, a controller must regulate the imaging apparatus to ensure that the image recorded on each side of the sheet reads from left to right.